第4章 バーチャル世界の構成手法
第4章 バーチャル世界の構成手法
4.1 総論
4.1.1 バーチャルリアリティのためのモデリング
4.1.2 レンダリング,シミュレーションとモデル
4.2.3 処理量とデータ量のトレードオフ
4.2 レンダリング
4.2.1 レンダリングのためのモデル
4.2.2 視覚レンダリングとモデル
投影処理
輝度計算
shading
4.2.3 聴覚レンダリングとモデル
視覚的手がかりの制御によって、 音楽を高精度にレンダリングする事はできないので、諦められている
両耳の間で聞こえてくる音の到達の影響や
よく使われる2つのモデル
サラウンドスピーカーみたいなやつ
両耳に入力される音信号を正確に分かれば3次元音空間知覚が可能だと考える立場
音源から耳までの音響伝播特性を伝達関数として表現し、聴取される2つの信号を耳元に合成
いずれのモデルでも、頭部近傍までの音波の電場をHRTF、RTFで与える いろんなアプローチがあるが、総合的な伝達関数として、音伝播経路の物理現象モデリングする
直接音が聞こえた後に到来する最初の反射波は、方向が知覚されやすい
光と同じように 反射を幾何的に扱う理論がある
音の波動性は考慮しないので、低周波の精度が低い
音源から出た音線が聞いている人の領域を単位時間あたりにどれだけ通過するかを計算
ある時刻ある点における音を陽に求めることができないので、聴覚ディスプレイには不向き
よく使われるのはこっち
反射面の向こうの虚像仮定して、そこからの直線伝播をあらかじめ反射の次数を決めて計算する
反射音の次数が増えると指数関数的に計算量増加する
音楽ホールと自宅だと音が違う
物陰の音
4.2.4 力触覚レンダリングとモデル
安定して提示するためには、周期が1kHz以上必要
これより小さいと振動を感じたり、本来より柔らかく感じる
テクスチャー判別するためには5-10kHz程度必要
4.3 シミュレーション
4.3.1 シミュレーションのためのモデル
4.3.2 空間のシミュレーション
計算削減の工夫
三次元空間を構成するオブジェクトを階層構造にして、レンダリング時に必要なデータを簡単に特定できるようにする
4.3.3
物体のシミュレーション
剛体運動シミュレータ
剛体のシミュレーション
多体の剛体運動シミュレータ
ペナルティ法
拘束力をペナルティに比例した力にする方法
収束する保証がないバネダンパモデルが収束するバネ係数やダンパ係数の範囲は、更新周期に反比例する。つまり早く収束させるために硬いダンパを使おうとすると更新周期を小さくしなければなならない
計算量が多くなるのであまり使われない
元々高速計算が必要な力覚表示には向いてる
解析法
剛体の数が増えると連立する式が増える
計算量は式の数をnとして$ O(n^3)なので、繰り返し計算による近似解放で$ O(n)程度で打ち切れるような工夫をしている
計算が難しい
全自由度法
1. 衝突計算を高速が満たされるまで繰り返す方法
2. 拘束と運動方程式を連立して得方法
自由度削減法
関節角をシミュレーションする
接触検出
変形のシミュレーション
質店がバネで繋がっているバネに生じる弾性力から質点運動を解くモデル
三角形の集合として表現して要素の支配方程式を重ね合わせる
例:煙の密度分布の時間変化
$ \frac{\partial q}{\partial t} =-(\bm{u} \cdot \nabla)q + \kappa \nabla^2q + S
$ -(\bm{u} \cdot \nabla)q 煙が流体と移動する効果
$ \kappa \nabla^2q煙が周辺に拡散する効果
$ \frac{\partial \bm{u}}{\partial t} =-(\bm{u} \cdot \nabla)\bm{u}-\frac{1}{\rho}\nabla p + \nu \nabla^2\bm{u} + \bm{f}
圧力項はないけど
q 煙のある点での密度
k 煙の拡散係数
S 煙の発生源からの煙の供給量
uは非圧縮性NSで解いたものを作る
4.3.4 人物のシミュレーション
人体のモデリングは、複数の関節で接続された剛体からなる
人間のとても簡単な近似
シミュレーションの都合
筋肉、表情、服は剛体では無いから、これでモデリングできない
運動の生成のためのアルゴリズムは大きく2つ
力学シミュレーション
解法
解析的手法
リンクの位置を関節角の関数として解。
一般に困難であるが、腕とか足のような、2つの球面関節の間に1つの回転関節を持つ機構では解ける 数値的手法
運動生成
力学シミュレーション
先程の幾何学的関係を解くことによって運動を生成できる
転倒しないための制御が必要で、トルクを計算が必要
関節制御
関節で、関節角や 速度の誤差を用いて間接トルクを計算する
バランス制御
いろいろな方法がある
外力に対する反応などの運動生生できるので、動的な環境での運動生成に適している
転けたりするかも
モーションキャプチャー
転倒しない
複数のアニメーションクリップの中から似たようなところでを遷移して新しい動きを作れる